// 判断传入的是否是对象或者数组
function isObject(obj){
    return typeof obj==='object' && obj!==null
}
// 全相等
function isEqual(obj1,obj2){
    if(!isObject(obj1) || !isObject(obj2)){
        // 值类型（参与equal的一般不是函数）
        return obj1===obj2
    }
    if(obj1===obj2){
        return true
    }
    // 两个对象都是数组或者对象，且不相等
    // 1.先取出obj1和obj2的keys判断个数
    const obj1Keys=Object.keys(obj1)
    const obj2Keys=Object.keys(obj2)
    if(obj1Keys.length !==obj2Keys.length){
        return false
    }
    // 2.以obj1为基准，和obj2一次递归比较
    for(let key in obj1){
        // 比较当前key的val ---递归(核心)
        const res=isEqual(obj1[key],obj2[key])
        if(!res){
            return false
        }
    }
    // 3.全相等：
    return true
}

const obj1={
    a:100,
    b:{
        x:100,
        y:200
    }
}
const obj2={
    a:100,
    b:{
        x:100,
        y:200
    }
}

console.log('浅比较:'+obj1===obj2) //false
console.log('深度比较：'+isEqual(obj1,obj2))



// split()和join()的区别
console.log('1-2-3'.split('-') )//[1,2,3]
console.log([1,2,3].join('-')) //'1-2-3'